﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Basicas
{
    [Serializable]
    public class Turma
    {
        private int id;
        private String local;
        private int qtdeVagas;
        private DateTime dataInicial;
        private DateTime dataFinal;
        private String horarios;
        private double precoAtual;
        private Curso curso;
        private Jornada jornada;
        private String nome;
        private List<Instrutor_Monitor> instrutores;        
        private List<Instrutor_Monitor> monitores;
        private int idJornadaCurso;        

        #region Construtores
        public Turma(int id, String local, int vagas, DateTime inicio, DateTime fim, String horarios, double preco, Curso curso, Jornada jornada, String nome, List<Instrutor_Monitor> instrutores, List<Instrutor_Monitor> monitores)
        {
            this.Id = id;
            this.Local = local;
            this.QtdeVagas = vagas;
            this.DataInicial = inicio;
            this.DataFinal = fim;
            this.Horarios = horarios;
            this.PrecoAtual = preco;
            this.Curso = curso;
            this.Jornada = jornada;
            this.Nome = nome;
            this.Instrutores = instrutores;
            this.Monitores = monitores;
        }

        public Turma(String local, int vagas, DateTime inicio, DateTime fim, String horarios, double preco, Curso curso, Jornada jornada, String nome, List<Instrutor_Monitor> instrutores, List<Instrutor_Monitor> monitores)
        : this(0, local, vagas, inicio, fim, horarios, preco, curso, jornada, nome, instrutores, monitores){            
        }

        public Turma()
        { 
        }
        #endregion

        #region Propriedades
        public int Id
        {
            get { return this.id; }
            set { this.id = value; }
        }

        public String Local
        {
            get { return this.local; }
            set { this.local = value; }
        }

        public int QtdeVagas
        {
            get { return this.qtdeVagas; }
            set { this.qtdeVagas = value; }
        }

        public DateTime DataInicial
        {
            get { return this.dataInicial; }
            set { this.dataInicial = value; }
        }

        public DateTime DataFinal
        {
            get { return this.dataFinal; }
            set { this.dataFinal = value; }
        }

        public String Horarios
        {
            get { return this.horarios; }
            set { this.horarios = value; }
        }

        public Double PrecoAtual
        {
            get { return this.precoAtual; }
            set { this.precoAtual = value; }
        }

        public Curso Curso
        {
            get { return this.curso; }
            set { this.curso = value; }
        }

        public Jornada Jornada
        {
            get { return this.jornada; }
            set { this.jornada = value; }
        }

        public String Nome
        {
            get { return this.nome; }
            set { this.nome = value; }
        }

        public List<Instrutor_Monitor> Monitores
        {
            get { return monitores; }
            set { monitores = value; }
        }

        public List<Instrutor_Monitor> Instrutores
        {
            get { return instrutores; }
            set { instrutores = value; }
        }
        public int IdJornadaCurso
        {
            get { return idJornadaCurso; }
            set { idJornadaCurso = value; }
        }
        #endregion

    }
}